Blog

First Workshop of the Year Announced: Up and Running with Quick

Paulina Lainez February 16, 2021

Spread the word

Paulina Lainez

February 16, 2021

Spread the word


Share your thoughts

 

On our first workshop of the year (March 11 - 12) we will get Up and Running with Quick. For those of you unfamiliar with the topic, Quick is an ORM (Object Relational Mapper) written in CFML for CFML.With it you can map database tables to entities (CFCs), create relationships between entities, query and manipulate data, and persist all your changes to your database. Quick helps you give relevant names to important bits of SQL code, compose queries at runtime to get exactly the data you want in the most efficient way, and gets out of your way when you need or want to write barebones SQL.

This workshop will teach you how to use and configure Quick while building a real-world blogging application. By the end of the workshop, attendees will have the tools and knowledge to implement Quick in their own new or existing projects.

What We’ll Do: 

Learn the Basics

1. Installation and Configuration

2. The Quick philosophy

3. Mapping database tables to Entities

4. Defining relationships between Entities

5. Encapsulating query logic in scopes

 

Cover Specific-Use Cases

1. Converting a ColdFusion ORM entity to a Quick entity

2. Solving the N+1 problem with Quick

3. Profiling SQL performance using cbDebugger

4. Improving execution time with subselects

5. Recommendations for testing Quick Entities

 

BUY TICKETS NOW

 

Here's what you'll need to have ready on the day of the workshop:

Join the BoxTeam Slack Channel

Visit boxteam.herokuapp.com and invite yourself to the Slack.

CommandBox

Download and installation instructions are here: https://commandbox.ortusbooks.com/setup/download

CommandBox Modules

Once CommandBox is installed we will need to install some global modules. Start by opening a box shell by typing `box`. Once in the shell you can type:

`````bash

install commandbox-dotenv,commandbox-migrations,commandbox-cfconfig

 

MySQL 5.7

We tend to use a Docker container for this, but it is not a requirement. Here is a command that will give you a local MySQL container you can interact with:

```sh

docker run -d --name=quick_blog_example -p 3306:3306 -e MYSQL_DATABASE=quick_blog_example -e MYSQL_ROOT_PASSWORD=root mysql:5.7

```

After you have created the container, you can start and stop it using the following commands:

```bash

docker start quick_blog_example

docker stop quick_blog_example

```

(You may choose to use a different database that Quick supports if you desire, but all examples will be ran against MySQL 5.7. We won't be able to support you with database-specific issues in the workshop.)

MySQL Client

You will want a SQL client to inspect and interact with your database.

You can use any client you would like. Here are a few we like ourselves:

* [Sequel Pro](https://sequelpro.com) (Mac, Free)

* [Heidi SQL](https://www.heidisql.com) (Windows, Free)

* [TablePlus](https://tableplus.io/) (Cross Platform, Commercial / Free Trial)

* [Data Grip](https://www.jetbrains.com/datagrip/) (Cross Platform, Commercial / Free Trial)

IDE

We recommend the following IDEs for development for this workshop

* [Microsoft VSCode](https://code.visualstudio.com/)

* [Sublime](https://www.sublimetext.com/)

If using VS Code, please install the following extensions:

* CFML - KamasamaK

* vscode-coldbox

* vscode-testbox

* Docker

* Yaml

If using Sublime, please install the following extensions:

* ColdBox Platform

* CFML

* CFMLDocPlugin

* Enhanced HTML and CFML

* DockerFile Syntax Highlighting

* Yaml

Useful Resources

* Quick Docs: https://quick.ortusbooks.com

* QB Docs: https://qb.ortusbooks.com

* Migrations: https://www.forgebox.io/view/commandbox-migration

Add Your Comment

(1)

Mar 10, 2021 14:12:04 UTC

by John D Farrar

Are there instructions on setting this up with Docker Compose?

Recent Entries

Ortus June 2024 Newsletter!

Ortus June 2024 Newsletter!

Welcome to the latest edition of the Ortus Newsletter! This month, we're excited to bring you highlights from our sessions at CFCamp and Open South Code, as well as a sneak peek into our upcoming events. Discover the latest developments in BoxLang, our dynamic new JVM language, and catch up on all the insightful presentations by our expert team. Let's dive in!

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang June 2024 Newsletter!

BoxLang June 2024 Newsletter!

We're thrilled to bring you the latest updates and exciting developments from the world of BoxLang. This month, we're diving into the newest beta release, introducing a new podcast series, showcasing innovative integrations, and sharing insights from recent events. Whether you're a seasoned developer or just getting started, there's something here for everyone to explore and enjoy.

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang 1.0.0 Beta 3 Launched

BoxLang 1.0.0 Beta 3 Launched

We are thrilled to announce the release of BoxLang 1.0.0-Beta 3! This latest beta version is packed with exciting new features and essential bug fixes, including robust encryption functionality, enhanced Java interoperability, and more efficient event handling. Key highlights include the introduction of query caching capabilities, seamless coercion of Java Single Abstract Method (SAM) interfaces from BoxLang functions, and support for virtual thread executors. So, let’s dive into the details of what’s new in BoxLang 1.0.0-Beta 3 and how you can start leveraging these updates today!

Luis Majano
Luis Majano
June 28, 2024